package com.openlogic.api.logic.entity;

import java.io.Serializable;
import java.util.Date;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;

/**
* @ClassName: RuleExecLog
* @Description: 规则执行日志
* @author weiyongpeng
* @date 2024年7月20日 下午4:02:31
 */
@Table("RULE_EXEC_LOG")
public class RuleExecLog implements Serializable{

	private static final long serialVersionUID = 1L;
	
	/**
	 * log编号
	 */
	@Id(keyType = KeyType.Auto)
	private String logId;
	
	/**
	 * 规则Id
	 */
	@Column("RULE_ID")
	private String ruleId;
	
	/**
	 * 调用人编码
	 */
	@Column("OPERATE_NO")
    private String operateNo;
	
	/**
	 * 调用人
	 */
	@Column(ignore = true)
    private String operateName;
    
    /**
     * 调用日期
     */
	@Column("OPERATE_DATE")
    private String operateDate;
    
    /**
     * 开始时间
     */
	@Column("EXEC_START_TIME")
    private Date execStartTime;
    
    /**
     * 结束时间
     */
	@Column("EXEC_END_TIME")
    private Date execEndTime;
    
    /**
     * 请求参数
     */
	@Column("REQ_PARAM")
    private String reqParam;
    
    /**
     * 反馈参数
     */
	@Column("REP_PARAM")
    private String repParam;
    
    /**
     * 规则详情数据
     */
	@Column("RULE_INFO")
    private String ruleInfo;
    
    /**
     * 规则详情数据
     */
	@Column("RULE_NAME")
    private String ruleName;

    /**
     * 错误信息
     */
	@Column("ERROR_MSG")
    private String errorMsg;
	
	/**
	 * 规则执行状态
	 */
	@Column("STATUS")
	private String status;
	
	/**
	 * 耗时
	 */
	@Column("exec_time")
	private Long execTime;
	
	/**
     * 规则链原始json
     */
	@Column("RULE_RAW_VALUE")
    private String ruleRawValue;
	
	/**
	 * 决策类型
	 */
	@Column("RULE_TYPE")
	private String ruleType;
    
	public String getLogId() {
		return logId;
	}

	public void setLogId(String logId) {
		this.logId = logId;
	}

	public String getOperateNo() {
		return operateNo;
	}

	public void setOperateNo(String operateNo) {
		this.operateNo = operateNo;
	}

	public String getOperateDate() {
		return operateDate;
	}

	public void setOperateDate(String operateDate) {
		this.operateDate = operateDate;
	}

	public Date getExecStartTime() {
		return execStartTime;
	}

	public void setExecStartTime(Date execStartTime) {
		this.execStartTime = execStartTime;
	}

	public Date getExecEndTime() {
		return execEndTime;
	}

	public void setExecEndTime(Date execEndTime) {
		this.execEndTime = execEndTime;
	}

	public String getReqParam() {
		return reqParam;
	}

	public void setReqParam(String reqParam) {
		this.reqParam = reqParam;
	}

	public String getRepParam() {
		return repParam;
	}

	public void setRepParam(String repParam) {
		this.repParam = repParam;
	}

	public String getRuleInfo() {
		return ruleInfo;
	}

	public void setRuleInfo(String ruleInfo) {
		this.ruleInfo = ruleInfo;
	}

	public String getRuleName() {
		return ruleName;
	}

	public void setRuleName(String ruleName) {
		this.ruleName = ruleName;
	}

	public String getRuleId() {
		return ruleId;
	}

	public void setRuleId(String ruleId) {
		this.ruleId = ruleId;
	}

	public String getErrorMsg() {
		return errorMsg;
	}

	public void setErrorMsg(String errorMsg) {
		this.errorMsg = errorMsg;
	}
	
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public Long getExecTime() {
		return execTime;
	}

	public void setExecTime(Long execTime) {
		this.execTime = execTime;
	}
	
	public String getOperateName() {
		return operateName;
	}

	public void setOperateName(String operateName) {
		this.operateName = operateName;
	}
	
	public String getRuleRawValue() {
		return ruleRawValue;
	}

	public void setRuleRawValue(String ruleRawValue) {
		this.ruleRawValue = ruleRawValue;
	}
	
	public String getRuleType() {
		return ruleType;
	}

	public void setRuleType(String ruleType) {
		this.ruleType = ruleType;
	}

	@Override
	public String toString() {
		return "RuleExecLog [logId=" + logId + ", ruleId=" + ruleId + ", operateNo=" + operateNo + ", operateName="
				+ operateName + ", operateDate=" + operateDate + ", execStartTime=" + execStartTime + ", execEndTime="
				+ execEndTime + ", reqParam=" + reqParam + ", repParam=" + repParam + ", ruleInfo=" + ruleInfo
				+ ", ruleName=" + ruleName + ", errorMsg=" + errorMsg + ", status=" + status + ", execTime=" + execTime
				+ ", ruleRawValue=" + ruleRawValue + ", ruleType=" + ruleType + "]";
	}

}
